Master、Slave等术语将不能在未来的Linux代码中使用
前提概要
最近国外反对种族歧视的Black Lives Matter活动愈演愈烈,已经在 IT 软件领域也蔓延开来。为了避免带有“种族歧视”的词汇,已经有越来越多的 IT 企业和知名软件项目宣布废除master、slave、blacklist、whitelist等敏感词汇。
Linux 将为此更换一些敏感的术语
近日Linus Torvalds已经批准了一个提议。我们可以在Linux内核的Git仓库看到这一Commit。
大意上就是从今往后Linux开发者应避免使用master / slave、blacklist/whitelist等敏感词汇。
拟替代Master/slave的候选词汇有:
{primary,main} / {secondary,replica,subordinate} {initiator,requester} / {target,responder} {controller,host} / {device,worker,proxy} leader / follower director / performer
拟替代blacklist/whitelist的候选词汇有:
denylist / allowlist
blocklist / passlist
Linux团队并没有推荐具体的术语,而由开发者自行选择。新术语将应用于未来的源代码和文档中。而旧术语将只被允许用于维护旧的代码和文档。但是关于这一决定的正式声明还没有发布。
胖哥评点
为了把自己排除在“种族歧视”之外,众多科技公司和开源项目都重新审查了自己的行为。其中不乏 Twitter 、GitHub、微软、LinkedIn这些大公司,以及MySQL、Android、Golang、Curl等知名项目,如今更是波及了影响力最大的Linux项目。
根据我从其他方面了解的情况,其实并不是这些词汇不好,倡议者只是希望不要把“黑”作为“白”的对立面,表达“不好”、“坏”、“需要被限制”等负面意思。同理,当“master、slave”出现在源码中,并且表达的“主-从”关系,这会让一些人联想到奴隶制,从而联想到种族不平等。他们希望“使用比较中性、包容的词汇”。
但是大家都知道修改这些词汇除了有可能带来不兼容等技术问题外,也会带来项目开发流程和变更等非技术的问题。这是开发中比较担心的事情,所以这个运动并没有得到所有人的拥护。但是对于国外来说这一话题是非常敏感的,没有组织和个人可以旗帜鲜明的反对,他们只能这样做。
说完国外,其实这个对国内也是有很大影响的,随着国内一些开源项目在国际上越来越活跃,比如国内的Skywalking、Echart已经进入了Apache基金会,TiDB、TiKV进入了CNCF基金会。这些项目也都有可能因此改变一些“规则”来“包容”。此次Linux加入相关的议题也会影响像Kylin、Deepin等国产Linux系统。对于普通开发者其实影响还是有限的,不需要有太多的顾虑。
往期推荐:
2020-07-11
2020-07-11
2020-07-10